import os
config = r'''typeset -U path PATH
path=(~/.local/bin ~/archinstall/bin $path)
export PATH
autoload -Uz compinit
compinit
# zstyle ':completion:*' menu select verbose true
# zstyle ':completion:*' menu select interactive search verbose true
zstyle ':completion:*' menu select interactive search
zstyle ':completion::complete:*' gain-privileges 1
zstyle ':completion:*' matcher-list 'm:{a-z}={A-Za-z}'
zstyle ':completion:*' rehash true
# create a zkbd compatible hash;
# to add other keys to this hash, see: man 5 terminfo
typeset -g -A key
key[Home]="${terminfo[khome]}"
key[End]="${terminfo[kend]}"
key[Insert]="${terminfo[kich1]}"
key[Backspace]="${terminfo[kbs]}"
key[Delete]="${terminfo[kdch1]}"
key[Up]="${terminfo[kcuu1]}"
key[Down]="${terminfo[kcud1]}"
key[Left]="${terminfo[kcub1]}"
key[Right]="${terminfo[kcuf1]}"
key[PageUp]="${terminfo[kpp]}"
key[PageDown]="${terminfo[knp]}"
key[Shift-Tab]="${terminfo[kcbt]}"
# setup key accordingly
[[ -n "${key[Home]}"      ]] && bindkey -- "${key[Home]}"       beginning-of-line
[[ -n "${key[End]}"       ]] && bindkey -- "${key[End]}"        end-of-line
[[ -n "${key[Insert]}"    ]] && bindkey -- "${key[Insert]}"     overwrite-mode
[[ -n "${key[Backspace]}" ]] && bindkey -- "${key[Backspace]}"  backward-delete-char
[[ -n "${key[Delete]}"    ]] && bindkey -- "${key[Delete]}"     delete-char
[[ -n "${key[Up]}"        ]] && bindkey -- "${key[Up]}"         up-line-or-history
[[ -n "${key[Down]}"      ]] && bindkey -- "${key[Down]}"       down-line-or-history
[[ -n "${key[Left]}"      ]] && bindkey -- "${key[Left]}"       backward-char
[[ -n "${key[Right]}"     ]] && bindkey -- "${key[Right]}"      forward-char
[[ -n "${key[PageUp]}"    ]] && bindkey -- "${key[PageUp]}"     beginning-of-buffer-or-history
[[ -n "${key[PageDown]}"  ]] && bindkey -- "${key[PageDown]}"   end-of-buffer-or-history
[[ -n "${key[Shift-Tab]}" ]] && bindkey -- "${key[Shift-Tab]}"  reverse-menu-complete
# Finally, make sure the terminal is in application mode, when zle is
# active. Only then are the values from $terminfo valid.
if (( ${+terminfo[smkx]} && ${+terminfo[rmkx]} )); then
	autoload -Uz add-zle-hook-widget
	function zle_application_mode_start { echoti smkx }
	function zle_application_mode_stop { echoti rmkx }
	add-zle-hook-widget -Uz zle-line-init zle_application_mode_start
	add-zle-hook-widget -Uz zle-line-finish zle_application_mode_stop
fi
autoload -Uz up-line-or-beginning-search down-line-or-beginning-search
zle -N up-line-or-beginning-search
zle -N down-line-or-beginning-search
[[ -n "${key[Up]}"   ]] && bindkey -- "${key[Up]}"   up-line-or-beginning-search
[[ -n "${key[Down]}" ]] && bindkey -- "${key[Down]}" down-line-or-beginning-search
key[Control-Left]="${terminfo[kLFT5]}"
key[Control-Right]="${terminfo[kRIT5]}"
[[ -n "${key[Control-Left]}"  ]] && bindkey -- "${key[Control-Left]}"  backward-word
[[ -n "${key[Control-Right]}" ]] && bindkey -- "${key[Control-Right]}" forward-word
autoload -Uz promptinit
promptinit
prompt walters
alias ls='ls --color=auto'
alias grep='grep --color=auto'
alias WineCN="LC_ALL=zh_CN wine"
alias ffmpeg="ffmpeg -hwaccel auto"
alias Yt-dlp="yt-dlp --cookies-from-browser firefox -S vcodec:h264"
alias Yt_proxy="yt-dlp --cookies-from-browser firefox -S vcodec:h264 --proxy socks5://127.0.0.1:2080"
# Enc_7z a output.7z source_file
# alias Enc_7z="7z -mhe=on -mx=0"
alias Enc_7z="7z -p -mmt -mhe=on"
alias wget="wget --no-check-certificate"
alias curl="curl --insecure"
alias Run_low_io="ionice -c 3"
alias Python_env="source ~/.local/python/bin/activate"
alias Convert_encode="convmv -f gb2312 -t UTF-8 --notest"
alias Git_phantom="git -c http.proxy=\"socks5h://127.0.0.1:51234\""
alias yay="yay --editmenu"
export EDITOR=vim
export GO111MODULE=on
export GOPROXY=https://repo.huaweicloud.com/repository/goproxy/
export GONOSUMDB=*
# source ~/.local/python/bin/activate
'''
# print(config)
# print('enter your password')
# passwd = input()
home_path=os.getenv('HOME')
with open(home_path+'/.zshrc', 'w', encoding='utf-8') as file:
    file.write(config + '\n')
    # file.write(config + '\n' + 'export password=' + passwd)